package com.xjrsoft.module.oa.vo;


import com.fasterxml.jackson.annotation.JsonProperty;
import com.xjrsoft.core.tool.node.INode;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
public class FilefolderVo implements INode {


    /**
     * 文件夹主键
     */
    @JsonProperty("F_Id")
    private String id;

    /**
     * 父级主键
     */
    @JsonProperty("F_ParentId")
    private String parentId;

    /**
     * 文件夹类型
     */
    @JsonProperty("F_Type")
    private String folderType;



    /**
     * 文件夹名称
     */
    @JsonProperty("F_Name")
    private String folderName;

    
    /**
     * 创建日期
     */
    @JsonProperty("F_CreateDate")
    private LocalDateTime createDate;


    /**
     * 创建用户
     */
    @JsonProperty("F_CreateUserName")
    private String createUserName;

    /**
     * 修改时间
     */
    @JsonProperty("F_ModifyDate")
    private LocalDateTime modifyDate;

    /**
     * 修改用户id
     */
    @JsonProperty("F_ModifyUserId")
    private String modifyUserId;

    @JsonProperty("children")
    private List<INode> children;


    @Override
    public String getId() {
        return this.id;
    }

    @Override
    public String getParentId() {
        return this.parentId;
    }

    @Override
    public List<INode> getChildren() {
        if (children == null) {
            children = new ArrayList<>();
        }
        return this.children;
    }
}
